local voucherId = ARGV[1]
local userId = ARGV[2]
local orderId = ARGV[3]

local stockKey = "seckill:stock:"..voucherId
local orderKey = "seckill:order:"..voucherId

--查询库存
if(tonumber(redis.call("get",stockKey))<= 0) then
    return 1
end
--一人一单
if(redis.call("sismember",orderKey,userId)>0) then
    return 2
end
--扣减库存
redis.call("incrby",stockKey,-1)
--添加订单
redis.call("sadd",orderKey,userId)
--插入消息
redis.call("xadd","stream.orders","*","userId",userId,"voucherId",voucherId,"id",orderId)

return 0
